import request from '@/utils/request'

/**
 * 销售额卡片下钻-整场列表
 * @param  projectZylyCode  项目code
 * @param  startDate  开始日期
 * @param  endDate  结束日期
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const saleSceneListApi = ({ projectZylyCode, startDate, endDate, timeType, pageNo, pageSize }) => {
    const data = {
        projectZylyCode,
        startDate,
        endDate,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/saleSceneList',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-整场列表-导出
 * @param  projectZylyCode  项目code
 * @param  startDate  开始日期
 * @param  endDate  结束日期
 * @param  timeType  日期类型 日 月 年
 */
const saleSceneExportApi = ({ projectZylyCode, startDate, endDate, timeType }) => {
    const data = {
        projectZylyCode,
        startDate,
        endDate,
        timeType,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/saleSceneExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 销售额卡片下钻-整场品牌列表-品牌下拉
 * @param  projectZylyCode  自营联营项目code
 */
const saleBrandDownApi = ({ projectZylyCode }) => {
    const data = {
        projectZylyCode,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/saleBrandDown',
        method: 'post',
        data: data
    })
};
/**
 * 销售额卡片下钻-整场品牌列表-导出
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  wmname  经营方式
 */
const saleBrandExportApi = ({ projectZylyCode, dataTime, timeType, ppcname, wmname }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        wmname,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/saleBrandExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 销售额卡片下钻-整场品牌列表
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  wmname  经营方式
 * @param  pageNo
 * @param  pageSize
 */
const saleBrandListApi = ({ projectZylyCode, dataTime, timeType, ppcname, wmname, pageNo, pageSize }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        wmname,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/saleBrandList',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-品牌列表
 * @param  projectZylyCode  项目code
 * @param  ppcname  品牌
 * @param  startDate  开始日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy	
 * @param  endDate  结束日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy	
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const brandListApi = ({ projectZylyCode, ppcname, startDate, endDate, timeType, pageNo, pageSize }) => {
    const data = {
        projectZylyCode,
        ppcname,
        startDate,
        endDate,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/brandList',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-品牌列表-导出
 * @param  projectZylyCode  项目code
 * @param  ppcname  品牌
 * @param  startDate  开始日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy	
 * @param  endDate  结束日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy	
 * @param  timeType  日期类型 日 月 年
 */
const brandExportApi = ({ projectZylyCode, ppcname, startDate, endDate, timeType }) => {
    const data = {
        projectZylyCode,
        ppcname,
        startDate,
        endDate,
        timeType,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/brandExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 销售额卡片下钻-商品汇总列表页-商铺名称下拉
 * @param  projectZylyCode  自营联营项目code
 */
const commodityNameDownApi = ({ projectZylyCode }) => {
    const data = {
        projectZylyCode,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityNameDown',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-商品汇总列表页-商品类别下拉
 * @param  projectZylyCode  自营联营项目code
 */
const commodityTypeDownApi = ({ projectZylyCode }) => {
    const data = {
        projectZylyCode,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityTypeDown',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-商品汇总列表页
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  gbcname  商品名称
 * @param  catcname 商品类别
 * @param  wmname 经验方式
 * @param  pageNo
 * @param  pageSize
 */
const commodityListApi = ({ projectZylyCode, dataTime, timeType, ppcname, gbcname, catcname, wmname, pageNo, pageSize }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        gbcname,
        catcname,
        wmname,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityList',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-商品汇总列表页-导出
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  gbcname  商品名称
 * @param  catcname 商品类别
 * @param  wmname 经验方式
 */
const commodityHzExportApi = ({ projectZylyCode, dataTime, timeType, ppcname, gbcname, catcname, wmname }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        gbcname,
        catcname,
        wmname,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityHzExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 销售额卡片下钻-商品明细列表页
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  gbcname  商品名称
 * @param  catcname 商品类别
 * @param  wmname 经验方式
 * @param  pageNo
 * @param  pageSize
 */
const commodityDetailApi = ({ projectZylyCode, dataTime, timeType, ppcname, gbcname, catcname, wmname, pageNo, pageSize }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        gbcname,
        catcname,
        wmname,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityDetail',
        method: 'post',
        data: data
    })
};

/**
 * 销售额卡片下钻-商品明细列表页-导出
 * @param  projectZylyCode  项目code
 * @param  dataTime  日期 日：yyyy-MM-dd 月：yyyy-MM 年：yyyy
 * @param  timeType  日期类型 日 月 年
 * @param  ppcname  品牌
 * @param  gbcname  商品名称
 * @param  catcname 商品类别
 * @param  wmname 经验方式
 */
const commodityDetailExportApi = ({ projectZylyCode, dataTime, timeType, ppcname, gbcname, catcname, wmname }) => {
    const data = {
        projectZylyCode,
        dataTime,
        timeType,
        ppcname,
        gbcname,
        catcname,
        wmname,
    }
    return request({
        url: 'portal-server/v1/api/selfSale/commodityDetailExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 预算对标卡片下钻-获取日期相关
 * @param  biProjectCode  bi项目code
 */
const queryDateTimePcApi = ({ biProjectCode }) => {
    return request({
        url: `portal-server/v1/api/project/queryDateTimePc?biProjectCode=${biProjectCode}`,
        method: 'get',
    })
};

/**
 * 预算对标卡片下钻-月份明细
 * @param  biProjectCode  bi项目code
 * @param  year  日期 yyyy
 */
const monthDetailApi = ({ biProjectCode, year }) => {
    const data = {
        biProjectCode,
        year,
    }
    return request({
        url: 'portal-server/v1/api/self/monthDetail',
        method: 'post',
        data: data
    })
};

/**
 * 预算对标卡片下钻-月份明细导出
 * @param  biProjectCode  bi项目code
 * @param  year  日期 yyyy
 */
const monthExportApi = ({ biProjectCode, year }) => {
    const data = {
        biProjectCode,
        year,
    }
    return request({
        url: 'portal-server/v1/api/self/monthExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};

/**
 * 预算对标卡片下钻-科目明细
 * @param  biProjectCode  bi项目code
 * @param  yearmonth  日期 yyyy-mm
 */
const subjectDetailApi = ({ biProjectCode, yearmonth }) => {
    const data = {
        biProjectCode,
        yearmonth,
    }
    return request({
        url: 'portal-server/v1/api/self/subjectDetail',
        method: 'post',
        data: data
    })
};

/**
 * 预算对标卡片下钻-科目明细导出
 * @param  biProjectCode  bi项目code
 * @param  yearmonth  日期 yyyy-mm
 */
const subjectExportApi = ({ biProjectCode, yearmonth }) => {
    const data = {
        biProjectCode,
        yearmonth,
    }
    return request({
        url: 'portal-server/v1/api/self/subjectExport',
        method: 'post',
        data: data,
        responseType: 'blob'
    })
};



/**
 * 库存管理卡片下钻-详情页--控件-品牌查询
 * @param  projectName  项目name
 */
const queryControlBrandApi = ({ projectName }) => {
    const data = {
        projectName,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryControlBrand',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-详情页--控件-商品查询
 * @param  projectName  项目name
 * @param  brandName  品牌名称
 */
const queryControlProductApi = ({ projectName, brandName }) => {
    const data = {
        projectName,
        brandName,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryControlProduct',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-整场列表
 * @param  projectName  项目name
 * @param  startDate  开始日期
 * @param  endDate  结束日期
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const queryEntireApi = ({ projectName, startDate, endDate, timeType, pageNo, pageSize }) => {
    const data = {
        projectName,
        startDate,
        endDate,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryEntire',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-整场品牌列表
 * @param  projectName  项目name
 * @param  brandName  品牌名称
 * @param  timeDate  日期
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const queryEntireBrandApi = ({ projectName, brandName, timeDate, timeType, pageNo, pageSize }) => {
    const data = {
        projectName,
        brandName,
        timeDate,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryEntireBrand',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-品牌列表
 * @param  projectName  项目name
 * @param  brandName  品牌名称
 * @param  startDate  开始日期
 * @param  endDate  结束日期
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const queryBrandApi = ({ projectName, brandName, startDate, endDate, timeType, pageNo, pageSize }) => {
    const data = {
        projectName,
        brandName,
        startDate,
        endDate,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryBrand',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-品牌商品
 * @param  projectName  项目name
 * @param  timeDate  日期
 * @param  brandName  品牌名称
 * @param  productName  商品名称
 * @param  productCategory  商品类别
 * @param  operationMode  经营方式
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
const queryBrandProductApi = ({ projectName, timeDate, brandName, productName, productCategory, operationMode, timeType, pageNo, pageSize }) => {
    const data = {
        projectName,
        timeDate,
        brandName,
        productName,
        productCategory,
        operationMode,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryBrandProduct',
        method: 'post',
        data: data
    })
};

/**
 * 库存管理卡片下钻-商品
 * @param  projectName  项目name
 * @param  startDate  日期
 * @param  endDate  日期
 * @param  brandName  品牌名称
 * @param  productName  商品名称
 * @param  timeType  日期类型 日 月 年
 * @param  pageNo
 * @param  pageSize
 */
 const queryProductApi = ({ projectName, startDate, endDate, brandName, productName, timeType, pageNo, pageSize }) => {
    const data = {
        projectName,
        startDate,
        endDate,
        brandName,
        productName,
        timeType,
        pageNo,
        pageSize,
    }
    return request({
        url: 'portal-server/v1/api/cockpit/queryProduct',
        method: 'post',
        data: data
    })
};


export default {
    saleSceneListApi,
    saleSceneExportApi,
    saleBrandDownApi,
    saleBrandExportApi,
    saleBrandListApi,
    brandListApi,
    brandExportApi,
    commodityNameDownApi,
    commodityTypeDownApi,
    commodityListApi,
    commodityHzExportApi,
    commodityDetailApi,
    commodityDetailExportApi,
    queryDateTimePcApi,
    monthDetailApi,
    monthExportApi,
    subjectDetailApi,
    subjectExportApi,
    queryEntireApi,
    queryControlBrandApi,
    queryControlProductApi,
    queryEntireBrandApi,
    queryBrandApi,
    queryBrandProductApi,
    queryProductApi,
}
